package com.liu.condition;

import org.springframework.context.annotation.Condition;
import org.springframework.context.annotation.ConditionContext;
import org.springframework.core.type.AnnotatedTypeMetadata;

import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

public class MySqlCondition implements Condition {
    @Override
    public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) {
        //尝试读取 类路径下的env.properties配置文件  如果存在 且有配置store 如果有值按指定的值处理  没有按mysql默认
        InputStream is = getClass().getClassLoader().getResourceAsStream("env.properties");
        if (null == is)
            return true;//不存在  默认为mysql环境
        //如果存在
        Properties prop = new Properties();
        try {
            prop.load(is);
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
        if (prop.containsKey("store")){
            String tmp = prop.getProperty("store");
            if (tmp.equals("mysql"))
                return true;
            return false;
        }
        return false;
    }
}
